In conventional development of mechanical products, the mechanical products are designed using three-dimensional (3D) computer aided design (CAD) data. A 3D CAD tool having a projection function can convert 3D CAD data into two-dimensional (2D) data. Furthermore, holes in parts of mechanical products are detected in the conventional development of mechanical products.
Related conventional techniques include a technique that enables to capture an image of a hole formed in an object by using a camera and to create a reference image for pattern matching with the captured image. For example, there is a technique that enables to convert 3D CAD data of an object into 2D data and to recognize a closed curve in the converted 2D data as a hole shape. A technique that enables to extract a surface of an object formed by combining multiple parts, from among 3D CAD data related to the object, to check contact relations between edge lines of part data included in the extracted surface and other surfaces, and to detect an edge line that has no significant contact with other part data and satisfies a predetermined condition as a clearance or a hole is another example.
For examples of such techniques, refer to Japanese Laid-Open Patent Publication Nos. H10-213420 and 2002-63222, and Published Japanese-Translation of PCT Application, Publication No. 2008/126317
However, when a part data group G in 3D object data of an object including multiple part data such as 3D CAD data is to be projected, a hole in part data “a” in the part data group G may be hidden by part data b located outside the part data group G to face the part data “a”. In this case, if a projection range is set to project only the part data group G, a connection relation between the part data group G and part data outside the part data group G, positional information of the part data b outside the part data group G, and the like need to be detected, which increases processing loads. Therefore, it is difficult to automatically set a projection range not to include the part data b that interferes with projection of the part data “a” in the part data group G.